{{tag>réseau serveur }}

----

Pound est un programme qui permet entre autre de faire :
  * Du load balancing avec gestion du fail over ;
  * Du reverse proxy ;
  * Du SSL wrapping (il s'occupera de l'encapsulation/désencapsulation de HTTPS vers HTTP).

[[http://www.apsis.ch/pound/|Site officiel]]

====== Installation ======

Pound est présent par défaut dans les dépôts .  [[apt://pound|Lien synaptic]]

Vous pouvez également l'installer en ligne de commande :

  sudo apt-get install pound

Pound ne se lancera pas avant d'être configuré.

====== Configuration simple ======

La configuration de Pound se trouve dans /etc/pound/pound.cfg, dont voici un exemple de configuration simple (quasiment la configuration fournie par défaut à l'installation de Pound) :

<file>
User            "www-data"
Group           "www-data"

Alive           30

Control "/var/run/pound/poundctl.socket"

ListenHTTP
        Address 192.168.1.16
        Port    8080

        Service
                BackEnd
                        Address 127.0.0.1
                        Port    8000
                End
        End
End
</file>

Dans l'exemple ci-dessus, Pound va écouter les requêtes sur l'interface recevant l'IP 192.168.1.16 sur le port 8080, ces requêtes seront redirigées sur le port 8000 en local (127.0.0.1).

Ensuite vous devez autoriser Pound à se lancer en modifiant la valeur "startup" à 1 dans /etc/default/pound :

  startup=1

Vous pouvez ensuite lancer Pound :

  /etc/init.d/pound start
  
====== HTTPS wrapper ======

Vous pouvez facilement la fonctionnalité d'encapsulation HTTPS, voici les lignes qui concernerait un tel serveur :

<file>
ListenHTTPS
        Address 192.168.1.16
        Port    443
        Cert    "/etc/pound/cert/local.server.pem"

        Service 
                BackEnd 
                        Address 127.0.0.1
                        Port    8000
                End
        End
End
</file>

Où local.server.pem est votre certificat.

Pour rappel vous pouvez générer un certificat autosigné à l'aide d'openssl par la commande suivante :
  openssl req -x509 -newkey rsa:1024 -keyout local.server.pem -out local.server.pem -days 365 -nodes
  
====== Source ======

  * [[http://www.cyberciti.biz/faq/linux-http-https-reverse-proxy-load-balancer/|Linux install and configure pound reverse proxy for Apache http / https web server]]